/*
 * Copyright 2007 - The JDPF Project Team (http://www.jdpf.org) 
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); 
 * you may not use this file except in compliance with the License. 
 * You may obtain a copy of the License at 
 * 
 * http://www.apache.org/licenses/LICENSE-2.0 
 * 
 * Unless required by applicable law or agreed to in writing, software 
 * distributed under the License is distributed on an "AS IS" BASIS, 
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and 
 * limitations under the License. 
 */
package org.jdpf.core.kernel.exceptions;

/**
 * Generic Core exception. Each exception is identified by an integer code.
 * 
 * @author Paolo Ciccarese
 */
public class CoreException extends Exception {

	private static final long serialVersionUID = 9073206641393863410L;
	
	private static final String INTRO = "[EXCEPTION] code ";
	
	private CoreExceptionsEnum exceptionCode;

	private String message;

	public CoreException() {
		super(CoreException.INTRO + "-1 : Unkwown Exception");	
		this.exceptionCode = CoreExceptionsEnum.Unknown;
	}

	public CoreException(CoreExceptionsEnum exceptionCode, String message) {
		super(CoreException.INTRO + exceptionCode + " : " + message);
		this.exceptionCode = exceptionCode;
		this.message = message;
	}

	public CoreExceptionsEnum getExceptionCode() {
		return exceptionCode;
	}
	
	public String getErrorMessage(){
		return message;
	}
}
